$(function () {

    $("#menu_datagrid").datagrid({
        url:"/menuList",
        columns:[[
            {field:'text',title:'菜单名称',width:1,align:'center'},
            {field:'url',title:'菜单链接',width:1,align:'center'},
            {field:'parent',title:'菜单父类',width:1,align:'center',formatter:function(value,row,index){

                return value?value.text:'';
                }
            }
        ]],
        fit:true,
        rownumbers:true,
        singleSelect:true,
        striped:true,
        pagination:true,
        fitColumns:true,
        toolbar:'#menu_toolbar'
    });

    /*
     * 初始化新增/编辑对话框
     */
    $("#menu_dialog").dialog({
        width:300,
        height:300,
        closed:true,
        buttons:[{
            text:'保存',
            handler:function(){

                /*获取当前选中的行*/
                var id = $("[name='id']").val();
                var url;
                if(id){
                    //选中父菜单的ID
                    var parentId = $("[name = 'parent.id']").val();
                    if (id == parentId){
                        $.messager.alert("温馨提示","不能设置自己为父菜单");
                        return;
                    }
                    url = "/updateMenu";
                }else {
                    url = "/saveMenu";
                }
                $("#menu_form").form("submit",{
                    url:url,
                    success:function (data) {
                        data = $.parseJSON(data);
                        if (data.success){
                            $.messager.alert("温馨提示",data.message);
                            /*关闭对话框 */
                            $("#menu_dialog").dialog("close");
                            /*重新加载数据表格*/
                            $("#menu_datagrid").datagrid("reload");
                            /*重新加载父类菜单下拉列表*/
                            $("#parentBox").combobox("reload");
                        } else {
                            $.messager.alert("温馨提示",data.message);
                        }
                    }
                });
            }
        },{
            text:'关闭',
            handler:function(){
                /*关闭对话框 */
                $("#menu_dialog").dialog("close");
            }
        }]
    });

    /*选择 下拉列表*/
    $("#parentBox").combobox({
        width:150,
        panelHeight:'auto',
        editable:false,
        url:'/getMenus',
        textField:'text',
        valueField:'id',
        onLoadSuccess:function (data) {
            /*数据加载完毕之后回调*/
            $("#parentBox").each(function(i){
                var span = $(this).siblings("span")[i];
                var targetInput = $(span).find("input:first");
                if(targetInput){
                    $(targetInput).attr("placeholder", $(this).attr("placeholder"));
                }
            });
        }
    });

    // 点击添加
    $("#add").click(function () {
        $("#menu_dialog").dialog("setTitle","添加菜单");
        $("#menu_form").form("clear");
        $("#menu_dialog").dialog("open");
    });

    /*点击编辑*/
    $("#edit").click(function () {
        /*获取当前选中的行*/
        var rowData = $("#menu_datagrid").datagrid("getSelected");
        if (!rowData) {
            $.messager.alert("提示", "选择一行数据进行编辑");
            return;
        }

        $("#menu_dialog").dialog("setTitle","修改菜单");
        $("#menu_form").form("clear");
        $("#menu_dialog").dialog("open");

        if (rowData["parent"]) {
            rowData["parent.id"] = rowData["parent"].id;
        }
        // 数据回显
        $("#menu_form").form("load",rowData);

    });


    /*点击删除*/
    $("#delete").click(function () {
        /*获取当前选中的行*/
        var rowData = $("#menu_datagrid").datagrid("getSelected");
        if (!rowData) {
            $.messager.alert("提示", "选择一行数据进行编辑");
            return;
        }

        /*弹出提示框*/
        $.messager.confirm("确认","您确定要删除",function (res) {
            if (res){

                $.get("/deleteMenu?id="+rowData.id,function (data) {
                    if (data.success){
                        $("#menu_datagrid").datagrid("reload");
                        /*重新加载父类菜单下拉列表*/
                        $("#parentBox").combobox("reload");
                        $.messager.alert("温馨提示",data.message,"info",function () {

                        })
                    }
                })
            }
        })


    });
});